Encapsulation of data

ABSTRACT

An encapsulation apparatus for encapsulating data includes an input to receive the data, a machine to generate information related to the encapsulation of data and a logic coupled to the machine. A processing machine is coupled to the input and the logic.

RELATED APPLICATIONS

This application is a Continuation Application of co-pending ApplicationNo. Ser. 11/528,030, which was filed on Sep. 27, 2006. The entirecontents of the co-pending Application are incorporated herein byreference.

BACKGROUND

The present application relates to the field of encapsulating data andin particular of encapsulating data into Ethernet frames.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 shows a block diagram according to one embodiment of the presentinvention;

FIG. 2 shows a flow chart diagram according to one embodiment of thepresent invention;

FIG. 3 shows a flow chart diagram according to one embodiment of thepresent invention;

FIGS. 4 a and 4 b show exemplary Ethernet frames according toembodiments of the present invention;

FIG. 5 shows a block diagram according to one embodiment of the presentinvention.

FIG. 6 shows one embodiment of an apparatus to receive an encapsulatedEthernet frame.

DETAILED DESCRIPTION

The following detailed description explains exemplary embodiments of thepresent invention. The description is not to be taken in a limitingsense, but is made only for the purpose of illustrating the generalprinciples of embodiments of the present invention. The scope of theinvention, however, is only defined by the claims and is not intended tobe limited by the exemplary embodiments described below.

Typically, when dealing with data transmission, data are provided instandardized formats such as Ethernet frames comprising of fieldsrelated to overhead and a payload field for providing the data which areactually to be transmitted.

In many applications, the data to be transmitted are itself standardizeddata, having for example a fixed length or having a standardized formatsuch as a ATM cell format. By transmitting these data over an Ethernetlink, the data are encapsulated within the Ethernet frame andinformation regarding the encapsulated data may be provided in order torecognize that the data are encapsulated data or to allow retrieval ofthe standardized data. The embodiments described as set forth belowaddress the encapsulation of data in an Ethernet frame.

FIG. 1 shows an encapsulation apparatus 100 according to one embodiment.The encapsulation apparatus 100 comprises an input terminal 102 toreceive data. The data received at input terminal 102 are not limited toany format or usage and may for example comprise structured data packetssuch as ATM cells or non-structured data, data transmitted over xDSLconnections or transmitted over other wired or wireless transmissionlinks.

Input terminal 102 is coupled to an Ethernet frame processing machine104. Ethernet frame processing machine 104 is coupled to an outputterminal 106 for transmitting an Ethernet frame generated by Ethernetframe processing machine 104 over an Ethernet-based transmission link.Ethernet-based transmission link may be a wired transmission linkcomprising an Ethernet cable, for example a 10Base-T or 100Base-T, afiber optical transmission link such as Gigabit Ethernet or any otherEthernet link.

A machine 108 to generate information related to the encapsulation ofthe data received by input terminal 102 is coupled to a logic 110. Logic110 may be implemented in various ways as described below for allowingthe information related to encapsulating the data generated by machine108 to be incorporated within the Ethernet frames transmitted overoutput terminal 106. To this end, logic 110 is coupled to Ethernet frameprocessing machine 104.

It is to be noted that according to one embodiment, machine 108 may becoupled to input terminal 102 to provide the information related toencapsulating the data within the Ethernet frame depending on thereceived data. For example, the information may be related to the numberof structured data packets such as for example cells, provided withinone Ethernet frame. According to one embodiment, the machine 108 mayparse the received data in order to determine a size of the structureddata packets or a size of the payload within the structured datapackets. Furthermore, according to one embodiment, this information maybe provided outside of machine 108 and transmitted to machine 108. It isto be noted that the Ethernet frame processing machine 104, machine 108and logic 110 may be implemented in hardware, firmware, software orcombinations thereof. For example, logic 110 may comprise a hardwarelogic or may use a look-up table (LUT) in combination with software forperforming the function of logic 110 as described below.

Information related to the encapsulation may comprise a plurality ofdifferent information such as the number of data packets, for examplethe number of ATM cells, an indicator or flag within the Ethernet frameindicating that the Ethernet frame comprises encapsulated data or otherencapsulation information or ports such as ATM ports provided fortransmission. According to one embodiment, an ATM cell relatedencapsulation is provided wherein ATM cells or modified ATM cells areencapsulated within the Ethernet frames by Ethernet frame processingmachine 104.

The operation of the encapsulation apparatus 100 according to exemplaryembodiments of the present invention will now be described with respectto FIGS. 2 and 3.

FIG. 2 shows a flow chart diagram according to one exemplary embodiment.In a first step 200, information related to encapsulation of data intoEthernet frames is provided by machine 108. As outlined above,information related to the encapsulation may comprise a plurality ofdifferent information such as the number of data packets, for examplethe number of ATM cells, an indicator such as a flag or an indicatorvalue within the Ethernet frame indicating that the Ethernet framecomprises encapsulated data or other encapsulation information.

In a step 202, a code value is selected from a plurality of code valuesreserved in an Ethernet field based on the encapsulation information, bylogic 110. Reserved code values in an Ethernet field as used within thisapplication are code values of an Ethernet field which have not beenassigned to specific functions by the standard of the Ethernet protocolused for transmitting the Ethernet frames over the Ethernet link coupledto output terminal 106.

In a step 204, the selected code value is then provided in the reservedfield of the Ethernet frame by Ethernet frame processing machine 104.

In a step 206 the data are provided in the Ethernet frame in accordancewith the code values by Ethernet frame processing machine 104 and theEthernet frame is transmitted in a step 208 over the Ethernet linkcoupled to output terminal 106. It is to be noted, that one or more ofthe steps of the flow chart according to FIG. 2 may be interchanged inother embodiments. For example, step 206 may be performed prior to step204.

According to one embodiment, the encapsulation apparatus 100 isconfigured for encapsulation using an Ethernet Reserved LengthEncapsulation. According to this embodiment, codes of the length/typefield which are reserved in the Ethernet standard family IEEE 802.3 areused for indicating information within the Ethernet frame related to theencapsulation of one or multiple packets within the Ethernet frame. Tobe more specific, according to the IEEE Standard family 802.3, if thevalue of this field is less than or equal to 1500 (0x05DC), then theLength/Type field indicates length, i.e. the number of bytes in thesubsequent MAC Client Data field of the Ethernet frame. If the value ofthis field is greater than or equal to 1536 (0x0600), then theLength/Type field indicates the nature of the MAC client protocol(protocol type).

Thus, the Ethernet standard length/type field assignment has a reservedspace from 1501 (0x05DD) to 1535 (0x05FF). The reserved space is usedaccording to one embodiment to provide the information generated bymachine 108 within the Ethernet frame.

To give only one of many implementations, encapsulation apparatus 100may implement ATM/EFM over Ethernet encapsulation by assigningencapsulation information to the reserved codes. According to oneembodiment, different codes are assigned for indication of differentnumbers of cells and ATM ports of the transmission. For example, anassignment may be provided as set forth below:

0x05E0: one RAW ATM cell in one Ethernet frame

0x05E1: two RAW ATM cells in one Ethernet frame

0x05E2: three RAW ATM cells in one Ethernet frame

0x05E3: four RAW ATM cells in one Ethernet frame

It is to be noted that for example in an embodiment implementing ATMcell encapsulation, the achievable data rate is dependent on the numberof ATM cells provided in one Ethernet cell. Over a 100 mbps link, forthe above four exemplary types of encapsulation, achievable data ratesare 7.8 Mbps (Mega Bits per second), 73.2 Mbps, 80.4 Mbps and 84.5 Mbps.

If two ports, for example ATM port 0 and ATM port 1, are used fortransmission, the above assignment of the reserved space from 0x05E0 to0x05E3 may be assigned to indicate port 0 traffic as outlined above, andin a corresponding manner, the codes 0x05E4 to 0x05E7 may be used toindicate port 1 traffic for the various numbers of cells provided in oneEthernet frame.

According to one embodiment, specific code symbols may be assigned toindicate port traffic of the ATM cells. For example 0x05E0 may beassigned to RAW ATM port 0 traffic and 0x05E1 may be assigned to port 1traffic, while other codes may be provided to indicate the number ofcells within one Ethernet frame.

The size of data, for example the number of cells within one Ethernetframe may be varied or adapted in an adaptive manner using for examplesoftware or firmware. If the traffic on the port is too high, a smallnumber of cells may be encapsulated to avoid latency, while otherwise ahigher number of cells may be encapsulated into one Ethernet frame inorder to utilize the bandwidth.

FIG. 4 a shows an exemplary Ethernet frame 600 as may be used in theabove described embodiment. The Ethernet frame comprises a Preamblefield 602, a destination address field 604 and a source address field606. Then follows the Type/Length field 608 comprising informationregarding the encapsulation of data if one or more ATM cells are beenencapsulated within the Ethernet frame. Then, data field 610 comprisingthe ATM cells encapsulated within the Ethernet frame is provided. Afterthe data field 610, a Frame Check Sum field (FCS field) 612 and an InterPacket Gap field (IPG field) 614 are provided.

It is to be understood that the above embodiment may be implemented alsoin software. Thus, according to one embodiment, a computer program forcontrolling encapsulation of data is provided, the computer programcomprising program code, when executed on a computer system, instructingthe computer system to perform a selection, based on the encapsulationinformation, of a code value from a plurality of reserved code values inan Ethernet field and transmitting the selected code value to an outputfor providing the selected code value in the Ethernet field of theEthernet frame.

Referring now to FIG. 3, a further exemplary embodiment of the presentinvention will be described.

In a step 300, information related to the encapsulation of data intoEthernet frames is provided by machine 108. In a step 302, a value of atleast one preselected bit of a TCI (TCI=Tag Control Information field)is determined based on the information provided by machine 108 shown inFIG. 1 to provide information related to encapsulation of the data. Tothis end, the encapsulation apparatus 100 may comprise in one embodimenta look-up table assigning a plurality of preselected bits of a TCI-fieldof an Ethernet frame to information related to encapsulation of data andthe logic 110 may determine the bit value for one or more of thepreselected bits based on the look-up table. According to otherembodiments, the logic 110 may be implemented for example fully inhardware or programmable hardware in order to determine the bit value.

In a step 304, Ethernet frame processing machine 104 provides thedetermined bit value in the preselected bit of the TCI field in order toprovide the information related to encapsulation of the data within theEthernet frame.

According to one embodiment, the encapsulation apparatus uses a VLAN TCIfield (VLAN=Virtual Local Area Network, TCI=Tag Control Information) toprovide information related to the encapsulation as set forth below.

VLAN TCI field has been provided in Ethernet Standards such as 802.1qand 802.1p in order to allow a general implementation of VLAN forswitches. To each VLAN is assigned a VLAN ID for identification of theVLAN. In order to identify each VLAN, the Ethernet frame is extended byinserting 4 Bytes. The 4 Bytes comprise a TPID of 2 Bytes, having afixed value of 0x8100 to indicate that the frame has 802.1 q/802.1 p-Taginformation. Then follows 3 Bits of user priority, 1 Bit of CFI(Canonical Format Indicator) to indicate whether the format is canonicalor non-canonical and 12 Bits for the VLAN ID. The 12 bits allow 4094VLANS to be identified. In typical networks such as for example SOHO(Small Office Home Office) networks, less or much less than 4094 VLANSare provided. This allows according to one embodiment the use of apredetermined number n of the VLAN ID Bits for providing informationrelated to the encapsulation of cells in the Ethernet frame whilem=12-−n bits are provided for VLAN identification. According to oneembodiment, the last 2 Bits of the VLAN ID may be used to carry theencapsulation information. For example, bit 9 may be assigned toindicate ATM port traffic for 2 ports, and the last two bits, i.e. bits10 and 51 may be used to indicate the number of cells within theEthernet frame, for example 1 cell in one Ethernet frame, 2 cells in oneEthernet frame, four cells in one Ethernet frame, and eight cells in oneEthernet frame. According to one embodiment, only one bit, for examplebit 11 may be used to indicate ATM port traffic. Furthermore, accordingto one embodiment, all 12 of the VLAN ID bits may be used to provideencapsulation information such as encapsulation type, traffic source,and ATM ports. In a similar manner to 3 VLAN bits indication coding,priority fields may be also used in one embodiment to indicate ATM portand number of cells within the Ethernet frame.

FIG. 4 b shows an Ethernet frame 620 as provided according to oneembodiment for ATM cell encapsulation using VLAN TCI encapsulation. Ascan be seen, the Ethernet frame 620 comprises the fields 602, 604, 606,610, 612 and 614 described with respect to FIG. 4 a. Between the fields606 and 610 is inserted a TPID field 622 comprising the fixed value0x8100, and a TCI field 624. The TCI field 624 comprises user prioritybits 626, CFI Bit 628, and VLAN ID Bits 630. As shown in FIG. 4 b, VLANID Bits 630 Bits 0 to 9 of the VLAN ID bits are reserved for VLANIdentification, whereas Bits 10 and 51 are reserved for providinginformation of the ATM over Ethernet Encapsulation indication.

The number of data such as cells within one Ethernet frame may beselected or varied in an adaptive manner using for example software orfirmware. If the other traffic on the port is too low, a small number ofcells may be encapsulated to avoid latency, while otherwise a highernumber of cells may be encapsulated into one Ethernet frame in order toutilize the bandwidth.

Although the above embodiment has been described with respect to ATMcell encapsulation it is to be understood that other embodiments mayimplement other encapsulations of packets having fixed length such ascells or packets having non-fixed length.

It is further to be understood that the above described Ethernetencapsulation may be implemented according to one embodiment by softwareor firmware. Thus, according to one embodiment, a computer program isprovided for controlling encapsulation of data comprising a programcode, when executed on a computer system instructing the computer systemto determine, based on the encapsulation information, at least onepreselected bit of a TCI field of the Ethernet frame and to transmit thedetermined code value to an output for providing the determined codevalue in the Ethernet field of the Ethernet frame.

While the above described embodiments have been described with respectto an apparatus encapsulating data for transmitting signals, FIG. 6.shows one embodiment of an apparatus 700 to receive an encapsulatedEthernet frame. Apparatus 700 comprises an input 702 for receiving theEthernet frame, and a parser 704. A machine 706 coupled to the parsergenerates information related to the encapsulation of data based on thecode value. The information related to the encapsulation may be providedto a data processor 708 coupled to the machine 706 for retrieving thedata encapsulated in the Ethernet frame and provide the data to anoutput 710 coupled to the data processor 708. It is to be understoodthat the apparatus 700 may comprise all variations of the embodimentdescribed with respect to FIGS. 1, 2, 3, 4 a and 4 b.

In one embodiment, corresponding to the embodiment described withrespect to FIG. 2, the parser may parse a code value provided in apredetermined Ethernet field of the Ethernet frame and to determinewhether the code value provided in the Ethernet field is a reserved codevalue. For example, in the above described embodiment, the predeterminedEthernet field may be the Type/Length field and the reserved code valuesmay be the code values between 0x05DD and 0x05FF.

In one embodiment, corresponding to the embodiment described withrespect to FIG. 3, the parser 704 coupled to the input 702 may parse apredetermined bit of a TCI field and determine a value of thepreselected bit. The machine 706 may generate information related to theencapsulation of the data based on the value of the preselected bit ofthe TCI field.

FIG. 5 shows now a schematic block diagram of one exemplaryimplementation embodiment of the Ethernet encapsulation as describedabove wherein the Ethernet encapsulation is provided for communicationin a bonding device.

According to FIG. 5, a data stream bonding device 500 is providedimplementing Ethernet encapsulation as described above.

Data stream bonding devices such as the data stream bonding device 500are provided to transmit a single or unified data stream over two ormore different telecommunication links. Data stream bonding can beimplemented in many ways, for example by inverse multiplexing for wiredxDSL access communication links or wireless communication links. To giveonly one of many embodiments, bonding may be provided according to theaf-phy-0086.001 standard for ATM data streams, also known as IMA(Inverse multiplexing over ATM) for ADSL 2 or ADSL 2+ allowing totransceive, between a Central Office and a subscriber or a local areanetwork, a single data stream as a plurality of sub-data streams over aplurality of xDSL communication links such as two-wired copper lines,i.e. from a subscriber or a local area network to a Central Office.

The data stream bonding device 500 according to the embodiment shown inFIG. 5 comprises a first unit 502 and a second unit 504. The first unit502 comprises a first transceiver 506 coupled to a firsttelecommunication link 508 receiving and transmitting a first datastream over first telecommunication link 508. Furthermore, the secondunit 504 comprises a second transceiver 510 receiving and transmitting asecond data stream over a second telecommunication link 512. Thetransceivers 506 and 510 may be circuits configured for implementinglower protocol layer functions such as the PHY and Data link layer.

The first transceiver 506 is coupled to a first interface 514establishing a Ethernet communication link 518 to a second interface 516coupled to the second transceiver 510.

The first and second interfaces 514 and 516 are coupled to a first andsecond Ethernet encapsulation apparatus 526 and 528, respectively.Ethernet encapsulation apparatus 526 and 528 may be implementedaccording to one of the embodiments described with respect to FIGS. 2and 3.

A processor 520 for generating combining information is coupled to thesecond interface 516. The processor 520 may be a general processorhaving firmware or software adapted to allow the processor 520 tofunction as a bonding processor. According to one embodiment, theprocessor 520 may be a dedicated bonding processor. An aggregatingmachine 526 for aggregating data of the first and second data streaminto a unified data stream according to the combining information iscoupled to the first interface 514. A transceiver 522 for transmittingthe unified data stream to a data or system link 524 is coupled to theaggregating machine 526.

In the above described embodiment, the Ethernet encapsulationapparatuses 526 and 528 are provided for encapsulating the datatransmitted between the first and the second unit such as ATM cells,cell headers or EFM data into a standard Ethernet frame.

It is to be understood that many variations and modifications of theabove exemplary described embodiment are possible. According to oneembodiment, the aggregating machine 526 may be arranged in the secondunit 504 and the unified data stream is transmitted over Ethernet link518 from the second unit to the first unit for transmitting the unifieddata stream over link 124 by using the above encapsulation according tothe above described embodiments. Furthermore, in other embodiments thetransceiver 522 may be arranged outside of the first and second unit andmay be coupled to the first and second unit by a communication linkdifferent from Ethernet link 518.

Ethernet communication link 518 can be part of a Ethernet communicationnetwork allowing the coupling of a plurality of units by connecting aplurality of interfaces to the Ethernet communication link. The Ethernetcommunication link includes according to one embodiment network devicessuch as switches, bridges or hubs. According to one embodiment the datastream bonding device 500 is implemented as a distributed bonding systemwith a wide span.

Ethernet link 518 may comprise any known transport medium includingcables, wires in combination with plug-in connectors for connectingseparated boxes, as well as a wireless links or combinations ofdifferent transport mediums. According to one embodiment, the first andsecond units 502 and 504 are intended to be arranged on a same PCB(printed circuit board) and the Ethernet link 518 is implemented byrouting on the PCB.

According to one embodiment, extension to bonding of more than twotelecommunication links is intended by coupling one or more furtherunits comprising a transceiver and an interface to Ethernetcommunication link 518. According to one embodiment, a systemmaster-bonding master configuration may be extended to include furtherbonding slaves implementing PHY-layer functions for data streamsreceived over telecommunication links coupled to the bonding slaves. Thebonding slaves communicate data of the received data stream viaframebase link 518 to the bonding master and receive data via theEthernet link 518 for transmission over the telecommunication links.

It is to be understood, that the above described implementation of theEthernet encapsulation is only one of many implementation embodiments ofthe present invention. In general, the present application may beimplemented for any type of data encapsulation independent of the typeof data and the function and type of the Ethernet link transmitting theEthernet frames. For example, the Ethernet encapsulation may be providedin one embodiment for a conventional Ethernet link of a LAN, a SOHOnetwork, a conventional point to point link or a conventional point tomultipoint link.

It is further to be understood that in embodiments of the presentinvention any direct connection or coupling between two points,functional blocks, devices or other physical or functional units shownor described in the following detailed description of exemplaryembodiments can be implemented in embodiments by indirect connection orcoupling.

What is claimed is:
 1. A method for encapsulating data into a frame,comprising: providing information related to encapsulation of data;selecting, based on the information, a code value from a plurality ofcode values reserved in a field of a frame, the selecting beingperformed at least partially by hardware logic; providing the code valuein the field of the frame; and providing the data in the frame.
 2. Themethod according to claim 1, wherein the frame is an Ethernet frame. 3.The method according to claim 1, wherein the field is an Ethernet field.4. The method according to claim 1, wherein the information relates to anumber of cells to be provided in the frame.
 5. The method according toclaim 1, wherein the field is a length/type field of the frame.
 6. Themethod according to claim 1, wherein the information is an encapsulationindicator to provide an indication that the frame comprises encapsulateddata, the frame being an Ethernet frame.
 7. The method according toclaim 1, wherein the code value is at least one preselected bit of a TagControl Information (TCI) field of the frame.
 8. The method according toclaim 1, wherein the information is information related to a number ofcells to be provided in the frame.
 9. The method according to claim 1,wherein the field is the type/length field and the plurality of codevalues are code values between 0x05DD and 0x05FF.
 10. An apparatus,comprising: a device to generate information related to encapsulation ofdata; a selection logic, at least partially embodied in hardware, toselect based on the information a code value from a plurality ofreserved code values in a field of a frame; and a frame processorcoupled to the logic, the frame processor to provide the selected codevalue in the field of the frame.
 11. The apparatus according to claim10, wherein the field is a type/length field and the plurality ofreserved code values are code values between 0x05DD and 0x05FF.
 12. Theapparatus of claim 10, wherein the information is information related toa number of cells to be provided in the frame.
 13. The apparatus ofclaim 10, wherein the field is an Ethernet field and the frame is anEthernet frame.
 14. The apparatus of claim 10, wherein the informationrelates to a data transmission port.
 15. The apparatus of claim 10,wherein the information is an encapsulation indicator to indicate thatthe frame comprises encapsulated data.
 16. The apparatus of claim 10,wherein the code value is at least one preselected bit of a Tag ControlInformation (TCI) field of the frame.
 17. A method, comprising:receiving an Ethernet frame including encapsulated data; parsing apredetermined bit of a field of the Ethernet frame to determine a valueof the predetermined bit; and generating, by a device to generateinformation related to encapsulated data, information related to theencapsulated data based on the value of the predetermined bit.
 18. Themethod according to claim 17, wherein the predetermined bit isassociated with a Tag Control Information (TCI) field.
 19. The methodaccording to claim 17, wherein the information is an encapsulationindicator for indicating that the Ethernet frame comprises encapsulateddata.
 20. The method according to claim 17, wherein the field is alength/type field of the Ethernet frame.